home *** CD-ROM | disk | FTP | other *** search
- unit Slistbox;
-
- interface
-
- uses
- Messages, Classes, Controls, StdCtrls;
-
- type
- TScrollEvent = procedure(Sender: TObject; ScrollCode, Pos: Word) of object;
-
- TSListbox = class(TListBox)
- private
- FOnScroll: TScrollEvent;
- FOnSelChange: TNotifyEvent;
- protected
- procedure WMVScroll(var Msg: TWMVScroll);
- message wm_VScroll;
- procedure CNCommand(var Msg: TWMCommand);
- message cn_Command;
- published
- property OnScroll: TScrollEvent read FOnScroll write FOnScroll;
- property OnSelChange: TNotifyEvent read FOnSelChange write FOnSelChange;
- end;
-
- procedure Register;
-
- implementation
-
- procedure TSListbox.WMVScroll(var Msg: TWMVScroll);
- begin
- inherited;
- if Assigned(FOnScroll) then
- FOnScroll(Self, Msg.ScrollCode, Msg.Pos);
- end;
-
- procedure TSListBox.CNCommand(var Msg: TWMCommand);
- begin
- inherited;
- if (Msg.NotifyCode = lbn_SelChange) and
- Assigned(FOnSelChange) then
- FOnSelChange(Self);
- end;
-
- procedure Register;
- begin
- RegisterComponents('Samples', [TSListbox]);
- end;
-
- end.
-